﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Security;

using MvcEngine.Core.Account;
using MvcEngine.Core.Pagination;
using MvcEngine.Core.Base;

namespace MvcEngine.Core.Repositories
{
    public interface IUserRepository
    {
        User Get(Guid id);

        IPagination<User> GetAll(Guid siteId, LoadOptions options);

        void Delete(Guid id);

        void DeleteAll();

        User Get(string name, Guid siteId);

        User GetUserByCreateKey(Guid value);

        User GetUserByRestoreKey(Guid value);

        void Add(User user);

        void Update(User user);
    }
}
